home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / TEST / SHELTEST.M < prev    next >
Encoding:
Text File  |  1989-09-09  |  2.0 KB  |  98 lines

  1. MODULE ShelTest;
  2.  
  3. (* Testet AESMisc-Funktionen *)
  4.  
  5. FROM InOut IMPORT WriteString, Write, WriteLn, WriteCard, Read, ReadString,
  6.         WriteHex;
  7.  
  8. IMPORT GEMEnv, AESMisc, PrgCtrl;
  9.  
  10. VAR s,s2: ARRAY [0..255] OF CHAR;
  11.   handle: GEMEnv.DeviceHandle;
  12.   ok: BOOLEAN;
  13.  
  14.  
  15. PROCEDURE fill (VAR s: ARRAY OF CHAR);
  16.   VAR i: CARDINAL;
  17.   BEGIN
  18.     FOR i:= 0 TO HIGH (s) DO
  19.       s[i]:= CHR(i)
  20.     END
  21.   END fill;
  22.  
  23. PROCEDURE chk (VAR s: ARRAY OF CHAR);
  24.   VAR i: CARDINAL;
  25.   BEGIN
  26.     FOR i:= 0 TO HIGH (s) DO
  27.       IF (s[i] = CHR(i)) AND (s[i+1] = CHR(i+1)) THEN
  28.         WriteString ('Filled up to byte ');
  29.         WriteCard (i,0);
  30.         WriteLn;
  31.         RETURN
  32.       END
  33.     END;
  34.     WriteString ('Overflow!');
  35.     HALT
  36.   END chk;
  37.  
  38.  
  39. VAR ch: CHAR;
  40.  
  41. BEGIN
  42.   GEMEnv.InitGem (GEMEnv.RC, handle, ok);
  43.   LOOP
  44.     Read (ch);
  45.     IF ch = 33C THEN EXIT END;
  46.     IF PrgCtrl.Accessory () THEN
  47.       WriteString ('ACC')
  48.     ELSE
  49.       WriteString ('PRG')
  50.     END;
  51.     WriteLn;
  52.     WriteString ('Ap_ID: ');
  53.     WriteHex (GEMEnv.ApplicationID(),5);
  54.     WriteLn;
  55.     WriteString ('GEMVersion: ');
  56.     WriteHex (GEMEnv.GEMVersion(),5);
  57.     WriteLn;
  58.     WriteString ('Scrap Dir: ');
  59.     fill (s);
  60.     AESMisc.ReadScrapDir (s);
  61.     WriteString (s);
  62.     WriteLn;
  63.     chk (s);
  64.     fill (s);
  65.     fill (s2);
  66.     AESMisc.ShellRead (s, s2);
  67.     WriteLn;
  68.     WriteString ('CMD: ');
  69.     WriteString (s);
  70.     WriteLn;
  71.     chk (s);
  72.     WriteString ('TAIL: ');
  73.     WriteString (s2);
  74.     WriteLn;
  75.     chk (s2);
  76.     
  77.     WriteString ('ShellWrite...');
  78.     WriteLn;
  79.     AESMisc.ShellWrite (AESMisc.leaveAES, AESMisc.graphicPrgm,
  80.                         AESMisc.gemAppl, 'Bla', 'blu');
  81.     AESMisc.ShellRead (s, s2);
  82.     WriteString ('CMD: ');
  83.     WriteString (s);
  84.     WriteLn;
  85.     WriteString ('TAIL: ');
  86.     WriteString (s2);
  87.     WriteLn;
  88.     
  89.     fill (s);
  90.     WriteString ('PATH= ');
  91.     AESMisc.ShellEnvironment ('PATH',s);
  92.     WriteString (s);
  93.     WriteLn;
  94.     chk (s);
  95.     
  96.   END;
  97. END ShelTest.
  98.